上次写了篇做排行的文章,然后做到现在,匹配不同网站的信息还是一大难点啊,做到现在,剩下的数据还是手工去处理会准确且快一些。
这次在将Ann与Sati信息匹配时使用了与Bgm和Sati匹配时不同的方法。
Ann的信息匹配
这次匹配的核心是ratio,jaro和jaro_winkler这3个字符串相似度算法,利用这些算法很明显可以解决之前存在的标题中有单个字符不匹配的情况。这次使用的一些规则。
这里原先Ann的日期获取缺失了很多,后来看了几个页面后才发现是日期会有不同的结构,重新爬取了一遍(代码),顺便做了次筛选,分辨出评价人数过少的番剧。
这次爬取后,日期基本就完整了,使用了日期比对后匹配率一下子就上来了,最后只剩85项未匹配。这些就直接手工解决了。
最后一个问题就是有些番剧在一个网站上是合并的,而在其他两个网站上是分开的。这里我原本是直接留下第一季的信息,但是后来发现还挺多的,还是将多个url用逗号隔开保存了,到时候取分时直接计算多个url的平均分了。
网站计划
网站我目前的想法是,后端api服务器Laravel,前端Semantic UI + Vue.js。
不过目前时间太少,这个计划会挺慢的。
其他
因为python没有和c那样的for循环,所以在项目中一直使用while循环进行迭代,这次加了个continue,发现就出bug了。于是又找了下资料,才知道python中写索引迭代要这么写
for i in range(start, end):
your code
相当于
for(i=start; i < end; i++){
your code
}